<?php if (!defined("_ECRIRE_INC_VERSION")) return; if (class_exists('PdkFacteurSender')) return;
/**
 * SPIP Plugin Development Kit
 *
 * @author     Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com)
 * @license    GNU/GPL
 * @package    plugins
 * @subpackage pdk
 * @category   outils
 * @copyright  (c) Aleksey Yaroshchuk 2011-2012
 * @link       http://www.spip-contrib.net/Developmet-Kit
 * @version    1.0.0
 */

include_spip('classes/pdk_model');
/** 
 *  This is mail sender based on simple mail function
 *
 *  @author Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com)
 */
class PdkFacteurSender {
    /**
     *  Sends message via Facteur plugin
     *  Этот метод еще не доконца оттестирован и работает некорректно
     *  @param string $email_to
     *  @param string $subject
     *  @param string $message
     *  @param array $options Array of additional parameters: 
     *               from_name - Sender name 
     *               from_email - Sender email
     */
    public function Send($email_to, $subject, $message, $options = array()) {
        $from_name = $options['from_name'] ? $options['from_name'] : '';
        $from_email = $options['from_email'] ? $options['from_email'] : '';
        
        // On génère le texte brut
        include_spip('classes/facteur');
		$texte = Facteur::html2text($message);
		
        // On utilise la forme avancé de Facteur
        // It generates plain text
        $corps = array(
            'html' => $message,
            'texte' => $texte,
            'nom_envoyeur' => $from_name
        );
		
        // on mets le couriel de l'envoyeur dans Reply-To et on laisse
		// le from par defaut de Facteur car sinon ca bloque sur les SMTP un peu restrictifs
		if ($from_email){
		    $corps['repondre_a'] = $from_email;
        }
		
		// On envoie enfin le message
        $envoyer_mail = charger_fonction('envoyer_mail','inc');
		
        return $envoyer_mail($email_to, $subject, $corps, "", "X-Originating-IP: ".$GLOBALS['ip']);
    }
}
?>